package cn.slg.module.system.service.pk.skill;

import java.lang.reflect.Method;
import java.util.HashMap;

// 所有战法都最终被加载到这个类的static
public class AllSkill {

    // 存放所有函数，Method即反射到的方法对象
    public static HashMap<String, Method> allSkillFunc = new HashMap<>();

    // 存放所有 中文战法名 和 战法函数名 的对应关系
    // 被动 阵法 兵种 指挥 主动 突击 内政
    public static HashMap<String, String> skillNameToFuncName = new HashMap<>();

    static {
        // 因为InitiativeSkill的静态代码块执行需要累加载，所以这里需要new一个对象
        InitiativeSkill initiativeSkill = new InitiativeSkill();
        CommandSKill commandSKill = new CommandSKill();
        skillNameToFuncName.put("指挥_仁德载世", "renDeZaiShi");
        skillNameToFuncName.put("指挥_乱世奸雄", "luanShiJianXiong");
        skillNameToFuncName.put("主动_威震华夏", "weiZhenHuaXia");
        skillNameToFuncName.put("被动_燕人咆哮", "yanRenPaoXiao");
        skillNameToFuncName.put("指挥_固若金汤", "guRuoJinTang");
        skillNameToFuncName.put("被动_刚烈不屈", "gangLieBuQu");

        skillNameToFuncName.put("主动_避实击虚", "biShiJiXu");
        skillNameToFuncName.put("主动_轻勇飞燕", "qingYongFeiYan");
        // 加属性状态
        skillNameToFuncName.put("主动_谦让", "qianRang");
        skillNameToFuncName.put("主动_进言", "jinYan");
        skillNameToFuncName.put("主动_骁勇善战", "xiaoYongShanZhan");
        //
        skillNameToFuncName.put("主动_才器过人", "caiQiGuoRen");
        skillNameToFuncName.put("主动_落雷", "luoLei");
        skillNameToFuncName.put("主动_料事如神", "liaoShiRuShen");

        // 带有持续性状态的战法
        skillNameToFuncName.put("主动_机略纵横", "jiLueZongHeng");
    }
}
